package leetCode;

import java.util.Arrays;
import java.util.function.IntPredicate;
import java.util.stream.IntStream;

/**
 * leet code4
 * 第四题
 * 给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
 *
 * 请注意 ，必须在不复制数组的情况下原地对数组进行操作。
 * @author 86155
 * @date 2023/12/12
 */
public class LeetCode4 {

    public static void moveZeroes(int[] nums) {
        if (nums == null) {
            return;
        }
        int j = 0;
        for (int i = 0; i < nums.length; i++) {
            //把等于零的放在右边，不等于0放在左边
            if (nums[i] != 0) {
                int tmp = nums[i];
                nums[i] = nums[j];
                nums[j++] = tmp;
            }

        }
    }

    public static void main(String[] args) {
        moveZeroes(new int[]{1,6,5,0,4,2,0});
    }
}
